#ifndef DMM_H_H_
#define DMM_H_H_

#include <cstddef>
#include <string>

namespace dmm
{
	/**
	 * @brief Desdk Memory Manager Init
	 * 
	 */
	void dmmInit(void);

	/**
	 * @brief 
	 * 
	 * @param len 
	 * @param alignment
	 * @return void* 
	 */
	void* dmmAlloc(size_t len, size_t alignment = sizeof(void*));

	/**
	 * @brief 
	 * 
	 * @param addr 
	 */
	void dmmFree(void* addr);

	/**
	 * @brief Desdk Memory Manager Deinit
	 * 
	 */
	void dmmDeinit(void);

	/**
	 * @brief 
	 * 
	 */
	std::string dmmGetMemUsageInfo(void);
}

#endif